package com.zxdemo.mybatis.dao;

import java.util.List;
import java.util.Map;

/**   
* @Description: 基础Dao
* <p>Copyright: Copyright (c) 2017<／p>
* @Package com.zxdemo.mybatis.dao 
* @author 张翔
* @date 2017年1月19日 下午4:03:49 
* @version V1.0   
*/
public interface BaseDao<T> {
	/*
	 * 单条添加，无返回
	 */
	void save(T t);
	
	void save(Map<String, Object> map);
	/*
	 * 批量添加，无返回
	 */
	void saveBatch(List<T> list);
	/*
	 * 单笔更新，返回条数
	 */
	int update(T t);
	/*
	 * 批量更新，返回条数
	 */
	int update(Map<String, Object> map);
	/*
	 * 根据ID删除单条记录，返回条数
	 */
	int delete(Object id);
	
	int delete(Map<String, Object> map);
	/*
	 * 批量删除，返回条数
	 */
	int deleteBatch(Object[] id);
	/*
	 * 根据ID，单查询
	 */
	T queryObject(Object id);
	
	List<T> queryList(Map<String, Object> map);
	
	List<T> queryList(Object id);
	
	int queryTotal(Map<String, Object> map);

	/*
	 * 查询总数
	 */
	int queryTotal();
}
